// pages/offerFast/offerFast.js
const app = getApp()
import config from '../../utils/config'
import utils from '../../utils/util'
import {
  productModel
} from '../../models/product';
const product = new productModel();
import Dialog from '../../vant/dialog/dialog';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    nvabarData: {
      showCapsule: 0, //是否显示左上角图标   1表示显示    0表示不显示
      title: '快速报价',
      //  导航栏 中间的标题
    },
    config: config,
		statusBarHeight: app.globalData.statusBarHeight,
		height: app.globalData.height,
    realWindowWidth: app.globalData.realWindowWidth,
    realWindowHeight: wx.getSystemInfoSync().windowHeight,
    fLoad: false,
    cList: [], // 分类列表
    activeKey: 0,
    categoryId: '', // 类别id

    allPage: 0, // 所有页数
    page: 1, // 第几页
    endFlag: false, // 是否到最后
    goodsList: [], // 商品列表
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.data.fLoad = true
    this.getAuth() // 判断是否登录
  },
  // 判断是否登录
  getAuth() {
    var _this = this
    wx.request({
      url: config.projectUrl + 'supplier/app/supplier/currentSupplierInfo',
      method: 'get',
      header: {
        'authentication': wx.getStorageSync('authentication')
      },
      success: function (res) {
        if(res.data.code == '402'){
          Dialog.confirm({
            title: '提示',
            message: '您还未登录，请先登录再进行操作',
            confirmButtonText: '确定',
            cancelButtonText: '取消'
          }).then(() => {
            wx.reLaunch({
              url: '/pages/login/login'
            })
          }).catch(() => {
            // on cancel
          });
        }else{
          _this.getCList() // 查询所有类别
          _this.getProduct() // 查询报价列表
        }
      }
    })
  },
  // 点击切换标签
  onTab: utils.throttle(function (e) {
    var index = e.currentTarget.dataset.index
    index = Number(index)
    var cList = this.data.cList
    var categoryId = cList[index].id
    this.setData({
      activeKey: index,
      categoryId: categoryId,
      goodsList: [], // 商品列表
    })
    this.data.allPage = 0 // 所有页数
    this.data.page = 1 // 第几页
    this.data.endFlag = false // 是否到最后
    this.getProduct()
  },500),

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    if(!this.data.fLoad){ // 是否第一次加载
      // this.data.cList = [] // 分类列表
      // this.data.allPage = 0 // 所有页数
      // this.data.page = 1 // 第几页
      // this.data.endFlag = false // 是否到最后
      // this.data.goodsList = [] // 商品列表
      
      this.setData({
        cList: [],
        allPage: 0,
        page: 1,
        endFlag: false,
        goodsList: []
      })
      this.getAuth()
    }
    this.data.fLoad = false
  },
  // 查询所有类别
  getCList(){
    product.categoryListAll(res => {
      var cList = [{
        id: '',
        categoryName: '全部'
      }]
      cList = cList.concat(res.data)
      this.setData({
        cList: cList
      })
    })
  },
  // 查询报价列表
  getProduct(showLoading=true,limit){
    product.listQuotePage({
      page: this.data.page,
      limit: limit?limit:10,
      categoryId: this.data.categoryId
    }, res => {
      if (res.data.list.length > 0) {
        this.data.page = this.data.page;
        this.data.endFlag = false;
        if (this.data.page == this.data.allPage) {
          this.data.endFlag = true;
        } else {
          this.data.page += 1;
        }
        var goodsList = this.data.goodsList
        goodsList = goodsList.concat(res.data.list)
        this.setData({
          goodsList: goodsList
        })
      }
    },showLoading)
  },
  // 报价
  onOffer: utils.throttle(function (e) {
    var id = e.currentTarget.dataset.productid
    var quote = e.currentTarget.dataset.quote
    var shelf = e.currentTarget.dataset.shelf
    var index = e.currentTarget.dataset.index
    if(quote!=1&&shelf==1){
      utils.msg('请先下架该商品，再进行修改')
      return
    }
    wx.navigateTo({
      url: '/pages/offerFast/offer/offer?id=' + id +'&quote='+ quote +'&type=2&pageindex=' + index,
    })
  }),

  // 商品详情
  onDetail: utils.throttle(function (e) {
    var id = e.currentTarget.dataset.productid
    wx.navigateTo({
      url: '/pages/index/commodityInfo/commodityInfo?id=' + id,
    })
  }),

  // 分类切换
  onChange(e) {
    this.setData({
      categoryId: this.cList[e.detail].id,
      goodsList: [], // 商品列表
    })
    this.data.allPage = 0 // 所有页数
    this.data.page = 1 // 第几页
    this.data.endFlag = false // 是否到最后

    this.getProduct()
  },

  // 搜索
  onSearch: utils.throttle(function (e) {
    wx.navigateTo({
      url: '/pages/index/search/search',
    })
  }),

  // 下架
  onDown: utils.throttle(function (e) {
    var _this = this
    var id = e.currentTarget.dataset.productid
    Dialog.confirm({
      message: '是否确认下架？'
    }).then(() => {
      // on confirm
      product.shelfDown({
        productId: id
      },res => {
        var goodsList = _this.data.goodsList
        var index = e.currentTarget.dataset.index
        goodsList[index].shelfStatus = 0
        _this.setData({
          goodsList: goodsList
        })
        utils.msg('操作成功')
      })
    }).catch(() => {
      // on cancel
    });
  }),
  // 上架
  onUp: utils.throttle(function (e) {
    var _this = this
    var id = e.currentTarget.dataset.productid
    Dialog.confirm({
      message: '是否确认上架？'
    }).then(() => {
      // on confirm
      product.shelfUp({
        productId: id
      },res => {
        var goodsList = _this.data.goodsList
        var index = e.currentTarget.dataset.index
        goodsList[index].shelfStatus = 1
        _this.setData({
          goodsList: goodsList
        })
        utils.msg('操作成功')
      })
    }).catch(() => {
      // on cancel
    });
    
  }),

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.data.cList = [], // 分类列表
    this.data.allPage = 0, // 所有页数
    this.data.page = 1, // 第几页
    this.data.endFlag = false, // 是否到最后
    this.data.goodsList = [], // 商品列表
    this.getCList() // 查询所有类别
    this.getProduct() // 查询报价列表
    //模拟加载 		
    setTimeout(function () {
      // complete 			
      wx.hideNavigationBarLoading() //完成停止加载 			
      wx.stopPullDownRefresh() //停止下拉刷新 		

    }, 1500);
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    console.log('bottom');
    if (this.data.endFlag) {
      utils.msg('已是最后了');
      return;
    } else {
      this.getProduct();

    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})